home *** CD-ROM | disk | FTP | other *** search
/ Best Tools for JAVA / Best Tools for JAVA.iso / JAVA_ALL / J_AUTHOR / Mojo / data.2 / docs / microline / examples / tabpanel4.java < prev    next >
Encoding:
Java Source  |  1996-05-27  |  5.1 KB  |  162 lines

  1. // (c) Copyright 1994-1996 Microline Software, Inc. ALL RIGHTS RESERVED
  2. //
  3. // THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE COPIED AND USED
  4. // ONLY IN ACCORDANCE WITH THE TERMS OF THAT LICENSE AND WITH THE INCLUSION
  5. // OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE AND DOCUMENTATION, AND ITS
  6. // COPYRIGHTS ARE OWNED BY MICROLINE SOFTWARE AND ARE PROTECTED BY UNITED
  7. // STATES COPYRIGHT LAWS AND INTERNATIONAL TREATY PROVISIONS.
  8. //
  9. // THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
  10. // AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY MICROLINE SOFTWARE.
  11. //
  12. // THIS SOFTWARE AND REFERENCE MATERIALS ARE PROVIDED "AS IS" WITHOUT
  13. // WARRANTY AS TO THEIR PERFORMANCE, MERCHANTABILITY, FITNESS FOR ANY
  14. // PARTICULAR PURPOSE, OR AGAINST INFRINGEMENT.  MICROLINE SOFTWARE
  15. // ASSUMES NO RESPONSIBILITY FOR THE USE OR INABILITY TO USE THIS
  16. // SOFTWARE.
  17. //
  18. // MICROLINE SOFTWARE SHALL NOT BE LIABLE FOR INDIRECT, SPECIAL OR
  19. // CONSEQUENTIAL DAMAGES RESULTING FROM THE USE OF THIS PRODUCT. SOME
  20. // STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
  21. // CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATIONS MIGHT NOT APPLY TO
  22. // YOU.
  23. //
  24. // MICROLINE SOFTWARE SHALL HAVE NO LIABILITY OR RESPONSIBILITY FOR SOFTWARE
  25. // ALTERED, MODIFIED, OR CONVERTED BY YOU OR A THIRD PARTY, DAMAGES
  26. // RESULTING FROM ACCIDENT, ABUSE OR MISAPPLICATION, OR FOR PROBLEMS DUE
  27. // TO THE MALFUNCTION OF YOUR EQUIPMENT OR SOFTWARE NOT SUPPLIED BY
  28. // MICROLINE SOFTWARE.
  29. //
  30. // U.S. GOVERNMENT RESTRICTED RIGHTS
  31. // This Software and documentation are provided with RESTRICTED RIGHTS.
  32. // Use, duplication or disclosure by the Government is subject to
  33. // restrictions as set forth in subparagraph (c)(1) of the Rights in
  34. // Technical Data and Computer Software Clause at DFARS 252.227-7013 or
  35. // subparagraphs (c)(1)(ii) and (2) of Commercial Computer Software -
  36. // Restricted Rights at 48 CFR 52.227-19, as applicable, supplier is
  37. // Microline Software, 41 Sutter St Suite 1374, San Francisco, CA 94104.
  38.  
  39. import java.awt.*;
  40. import java.mct.*;
  41. import java.applet.Applet;
  42.  
  43. public class tabpanel4 extends Applet
  44. {
  45. MlTabPanel tabPanel;
  46. Image dotImage, winImage;
  47. Label pageArea;
  48. Button removeButton, addButton;
  49.  
  50. public tabpanel4()
  51.     {
  52.     setBackground(new Color(192, 192, 192));
  53.     makeIcons();
  54.  
  55.     tabPanel = new MlTabPanel();
  56.     tabPanel.setValue("tabsPerRow", 4);
  57.     pageArea = new Label("Page Area", Label.CENTER);
  58.     tabPanel.add(pageArea);
  59.  
  60.     removeButton = new Button("Remove Tab");
  61.     addButton = new Button("Add Tab");
  62.  
  63.     add(tabPanel);
  64.     add(removeButton);
  65.     add(addButton);
  66.     }
  67.  
  68. public void layout()
  69.     {
  70.     tabPanel.reshape(10, 10, size().width - 20, size().height - 60);
  71.     removeButton.reshape(size().width - 110, size().height - 40, 100, 30);
  72.     addButton.reshape(size().width - 220, size().height - 40, 100, 30);
  73.     }
  74.  
  75. void addTab()
  76.     {
  77.     int count;
  78.     Image image;
  79.  
  80.     // every other tab will have a sphere image
  81.     count = tabPanel.getIntValue("tabCount");
  82.     if (count % 2 > 0)
  83.         image = dotImage;
  84.     else
  85.         image = winImage;
  86.     tabPanel.addTab("Tab " + (count + 1),  image);
  87.     tabPanel.validate();
  88.     tabPanel.repaint();
  89.     }
  90.  
  91. void removeTab()
  92.     {
  93.     int count;
  94.  
  95.     count = tabPanel.getIntValue("tabCount");
  96.     if (count > 0)
  97.         tabPanel.remove(count - 1);
  98.     tabPanel.validate();
  99.     tabPanel.repaint();
  100.     }
  101.  
  102. public boolean action(Event event, Object o)
  103.     {
  104.     // change the label to reflect the selected page name
  105.     if (event.target == removeButton)
  106.         removeTab();
  107.     else if (event.target == addButton)
  108.         addTab();
  109.     else if (event.target == tabPanel)
  110.         pageArea.setText("Page for " + o.toString());
  111.     return false;
  112.     }
  113.  
  114. public void makeIcons()
  115.     {
  116.     MlIconMaker im;
  117.  
  118.     im = new MlIconMaker();
  119.     im.setDimensions(16, 16);
  120.     im.setColor('B', 0xff000080);
  121.     im.setColor('K', 0xff000000);
  122.     im.setColor('G', 0xff808080);
  123.  
  124.     im.setPixels("                ");
  125.     im.setPixels("                ");
  126.     im.setPixels("      BBBBB     ");
  127.     im.setPixels("     BBBBBBB    ");
  128.     im.setPixels("    BBBBBBBBB   ");
  129.     im.setPixels("   BBB  BBBBBB  ");
  130.     im.setPixels("   BBB BBBBBBB  ");
  131.     im.setPixels("   BBBBBBBBBBB  ");
  132.     im.setPixels("   BBBBBBBBBBB  ");
  133.     im.setPixels("   BBBBBBBBBBB  ");
  134.     im.setPixels("    BBBBBBBBB   ");
  135.     im.setPixels("     BBBBBBB    ");
  136.     im.setPixels("      BBBBB     ");
  137.     im.setPixels("                ");
  138.     im.setPixels("                ");
  139.     im.setPixels("                ");
  140.     dotImage = im.createImage(this);
  141.  
  142.     im.clear();
  143.     im.setPixels("                ");
  144.     im.setPixels("   KKKKKKKKKKK  ");
  145.     im.setPixels("   KGGGGGGGGGK  ");
  146.     im.setPixels("   KG       GK  ");
  147.     im.setPixels("   KG G GGG GK  ");
  148.     im.setPixels("   KG       GK  ");
  149.     im.setPixels("   KG G GGG GK  ");
  150.     im.setPixels("   KG       GK  ");
  151.     im.setPixels("   KGGGGGGGGGK  ");
  152.     im.setPixels("   KKKKKKKKKKK  ");
  153.     im.setPixels("       KGK      ");
  154.     im.setPixels("       KGK      ");
  155.     im.setPixels("    KKKKKKKKK   ");
  156.     im.setPixels("    KKKKKKKKK   ");
  157.     im.setPixels("                ");
  158.     im.setPixels("                ");
  159.     winImage = im.createImage(this);
  160.     }
  161. }
  162.